import App from './App'

// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'

// vuex状态管理器
import store from '@/store/index.js'
Vue.prototype.$store = store

// 使用uview第三方组件库
import uView from '@/uni_modules/uview-ui'
Vue.use(uView)

// 全局混合：用户授权管理
import auth from '@/utils/auth.js'
Vue.mixin(auth)

Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
	store,
	...App,	
	mounted() { // vuex或者其他（全局混合）需要在【 Vue 实例创建后才能访问的资源 】，使用beforeCreate生命周期会出错		
		this.setToken() // 所以需要在 Vue 实例创建并挂载到 DOM，再调用全局混合方法
	}
})

// 引入二次封装的request
require('@/utils/request.js')(app)

app.$mount()
// #endif

// #ifdef VUE3
import {
	createSSRApp
} from 'vue'
export function createApp() {
	const app = createSSRApp(App)
	return {
		app
	}
}
// #endif